Экспертные системы

Работы по созданию Экспертных систем (ЭС) - первая попытка практического применения результатов в области Искусственного интеллекта (ИИ) -  80-е - начало 90-х гг. ХХ века).

История: «романтический период» ИИ → серьезные научные исследования → практические задачи.

Первоначальный основной сценарий построения и использования экспертных систем. Проблемы связанные с дороговизной их построения и (главное) формирования базы знаний. 

Экспертная система (ЭС) – вычислительная система, в которой представлены знания специалистов в некоторой конкретной узко-специализированной предметной области и которая в рамках этой области способна принимать решения (решать задачи) на уровне эксперта-профессионала.

Основные особенности ЭС:
•	ориентированы на решение практических задач в трудноформализуемых узких предметных областях,
•	результаты работы сравнимы с результатами человека-эксперта,
•	«прозрачность» решения,
•	открытая совокупность знаний.

Одна из первых задач - задача Диагностики (выявление причин неправильного функционирования системы). 
Одна из первых ЭС для задачи медицинской диагностики: MYCIN (диагностика бактериальных инфекций).
Одна из первых ЭС в Геологии: PROSPECTOR  - оценка потенциальной рудоносности района
Что может делать СИСТЕМА PROSPECTOR:
•	Беседует с пользователем (экспертом-геологом), употребляя знакомые ему термины.
•	Позволяет пользователю вводить любую информацию о районе в любой момент диалога; учитывает при этом степень уверенности пользователя в достоверности сообщаемых им фактов.
•	Выбирает гипотезу о рудных залежах в районе и затем задает пользователю вопросы с целью либо доказать, либо опровергнуть ее.
•	Перефразирует вопросы, когда пользователь указывает, что они ему непонятны.
•	Может сообщить пользователю, почему ей нужен ответ на конкретный вопрос.
•	Отбрасывает свои гипотезы и выбирает новые на основании ответов пользователя на свои вопросы.
•	Ищет противоречия в ответах пользователя, указывает их и позволяет пользователю изменять и старые, и новые ответы с целью добиться непротиворечивости.
•	Предлагает свои заключения вместе со сводкой соображений, на основании которых она пришла к этим заключениям.

ФРАГМЕНТ ПРОТОКОЛА ДИАЛОГА ПОЛЬЗОВАТЕЛЯ С СИСТЕМОЙ PROSPECTOR.
01.П:  присутствуют дайки (запоминает ЭС: дайки, достоверность = 5)
02.П:  присутствуют меловые диориты (запоминает ЭС: меловые диориты, достоверность = 5)
03.П:  возможно, есть сиенодиорит (запоминает ЭС: сиенодиорит/монцонит, достоверность = 3)
04.П: может быть некоторое количество кварцевого монцонита (запоминает ЭС: кварцевый монцонит, достоверность = 3)
. . .
77:ЭС: на шкале от -5 до +5 уверенность, что имеется месторождение медно-порфировых руд типа А (МПРА), равна 1.683.
Основные заключения в пользу гипотезы:
- Соответствующее геологическое строение региона (достоверность = 3.576).
- Соответствующее петро-тектоническое окружение (достоверность = 3.333).
- Соответствующая интрузивная структура для МПРА (достоверность = 1.683).
Основные наблюдения, поддерживающие гипотезу:
- В исследуемом регионе есть система гранитных интрузий (достоверность = 5.0).
- Наблюдаются измененные породы (достоверность = 5.0)
. . .
Существует еще много других наблюдений в пользу гипотезы. Хотите рассмотреть еще какие-нибудь?
П: нет 
Типичные задачи, решаемые с помощью ЭС:

Интерпретация - описание ситуации по информации, поступающей от датчиков.
	SPE - определение концентрации гамма-глобулина в крови.
Прогноз - определение вероятных последствий заданных ситуаций.
	PLANT/cd - определения потерь урожая от черной совки.
Планирование - определение последовательности действий.
	TATR - планирование авиаударов по аэродромам противника.
Диагностика - выявление причин неправильного функционирования системы.
	MYCIN - диагностика бактериальных инфекций.
Отладка - поиск способов исправления неправильного функционирования системы.
	ONCOCIN - планирования химиотерапевтического лечения.
Ремонт - выполнение последовательности предписанных исправлений.
	TQMSTUNE - настройка масс-спектрометра.
Проектирование - построение конфигурации объектов при заданных ограничениях.
	XCON (R1) - выбор оптимальной конфигурации аппаратных средств (VAX).
Наблюдение - сравнение результатов наблюдения с ожидаемыми результатами.
	VM - наблюдение за состоянием больного в палате интенсивной терапии.
Обучение - диагностика, отладка и ремонт поведения обучаемого.
	GUIDON - обучение студентов-медиков (антибактериальная терапия).
Управление - управление поведением системы как целого.
	VM

Сферы применения ЭС:

ХИМИЯ: DENDRAL (интерпр.) - определение структурной формулы хим.в-ва		
МЕДИЦИНА: VM, MYCIN (см.выше)
ВОЕННОЕ ДЕЛО: TATR (см.выше), I&W (прогнозир.) - прогнозирование вооруженных конфликтов
ЭЛЕКТРОНИКА: EURISKO (проектир.) - проектирование СБИС
КОМПЬЮТЕРНЫЕ СИСТЕМЫ: XCON (см.выше), PTRANS (планир.&прогнозир.) - маркетинг в DEC
ТЕХНИКА: REACTOR (наблюден.) - в составе системы управления ядерным реактором  
ГЕОЛОГИЯ: PROSPECTOR (интерпр.) - оценка потенциальной рудоносности района

Основные компоненты ЭС (архитектура ЭС):

•	решатель / машина вывода (решение задач пользователя),
•	база знаний (хранение знаний, необходимых для решения задач),
•	подсистема объяснений (объяснение того, как получено решение), 
•	пользовательский интерфейс,
•	подсистема приобретения знаний,
•	интерфейс администратора / инженера знаний.

Решатель ЭС:

Вызов процедур (модулей / правил) по образцу  гибкая схема взаимодействия (управления)
Продукция – правило вида:  p:  (где: p – предусловие,  - антецедент,  - консеквент).

Основной цикл работы решателя:
•	выборка (правил-кандидатов)
•	сопоставление / означивание
•	разрешение конфликтов
•	выполнение / действия
•	переход на НАЧАЛО

Экспертные системы Реального времени

Способность «быстро работать» - лишь одно из требований к ЭС РВ.

Основные свойства ЭС РВ:
1.Немонотонность. В процессе функционирования происходит обновление данных. Необходимы специальные механизмы поддержания истинности (удаление старых данных вместе со сделанными на их основе выводами, учет новых данных).
2.Рассуждения с учетом времени (способность рассуждать о прошлых, текущих и будущих событиях, планировать поведение с учетом времени).
3.Реактивность по отношению к асинхронным событиям (происходящим в среде).
4.Концентрация "внимания". Учет того, что события имеют разную значимость для ЭС РВ, умение выделять наиболее важные цели и отбирать необходимые для их достижения ресурсы.
5.Внешний интерфейс. ЭС РВ должна уметь собирать информацию, поступающую от различных сенсоров, по различным каналам связи, а также передавать данные по каналам связи (в том числе и для различных исполнительных механизмов).
6.Ненадежность и неполнота данных. Наличие ненадежных и неполных данных типично для областей применения ЭС РВ, необходимы механизмы для работы в таких условиях.
7.Интеграция с традиционным программным обеспечением (сжатие данных, обработка сигналов, специальный ввод-вывод и др.).
8.Высокая скорость работы. Для многих приложений важна высокая скорость реакции на события, важно также, чтобы ЭС РВ имела гарантированное время ответа (т.е., было известно, что обработка любого события потребует времени в определенных фиксированных границах). 

Основной цикл работы решателя ЭС Реального времени:
•	ввод в базу фактов всех сообщений, полученных к данному моменту из внешних источников, посылка необходимых сообщений внешним адресатам (фаза коммуникации)
•	ввод в базу фактов «отложенных» фактов, время наступления которых уже «пришло»
•	выборка (правил-кандидатов)
•	сопоставление / означивание
•	разрешение конфликтов (если правил с удовлетворенными условиями нет, СТОП), переход в специальный режим «ожидание», нарушить который может некоторое событие (внешнее сообщение, сообщение от таймера)
•	выполнение / действия
•	переход на НАЧАЛО

Метазнания в ЭС

1. ВЫБОР ПРАВИЛ:
П1: утечка серной кислоты  использовать анион-обменник 
(стоимость: дорого, источник информации: доктор Грин, степень опасности: невелика)

П2: утечка серной кислоты  использовать уксусную кислоту
(стоимость: дешево, источник информации: практикант Грун, степень опасности: велика)

П3: прежде всего использовать правило, требующее минимальных затрат

П4: прежде всего использовать правило, внесенное в БЗ специалистом

П5: прежде всего использовать правило с минимальной степенью опасности

	2. ОПРАВДАНИЕ ПРАВИЛ:
П6: утечка серной кислоты  использовать известь
(оправдание: нейтрализация, образование нерастворимого и химически неактивного вещества)

П7: утечка уксусной кислоты  использовать известь
(оправдание: нейтрализация)

П8: утечка соляной кислоты  использовать известь
(оправдание: нейтрализация)
	3. ОБНАРУЖЕНИЕ ОШИБОК В ПРАВИЛАХ:
ПР01: использовать известь	- нет антецедента

ПР02: утечка:	соляная кислота  использовать известь	 

ПР03: 		соляная кислота  использовать известь - проверить: не совпадает ли предусловие с предусловием предыдущего правила

П9: если некоторое правило никогда не срабатывает, проверить его предусловие

	 4. СТРАТЕГИЧЕСКИЕ ПРАВИЛА:
П10: пространство поиска относительно мало  оправдан полный перебор

П11: один из конъюнктов часто ложен  перенести его в начало

П12: фрагмент часто выполняется  оптимизировать его

П13: фрагмент часто выполняется & редко меняется  скомпилировать его

П14: утечка вещества, которое не описано в БЗ  база знаний по утечкам неадекватна

Пример вывода в ЭС, основанной на правилах продукций

Правила:	R1: разлита горючая жидкость  звонить по телефону 01
R2: разлита уксусная кислота  использовать известь
		R3: pH жидкости < 6  кислота
R4: кислота & имеет запах уксуса  уксусная кислота

Факты:	F1: разлита жидкость
		F2: pH жидкости < 6
		F3: жидкость имеет запах уксуса

Цепочка вывода:

F1 & F2  F4 (разлита кислота) & F3  F5 (разлита уксусная кислота)  F6 (нейтрализация)  
              R3                                              R4                                                     R2

Цепочка вывода с учетом достоверности / вероятности:
F1      &      F2            F4     &    F3              F5           F6
80%            60%   R3     70%         100%    R4    85%     R2

Распространение вероятности - изменение вероятности в узлах сети вывода с целью учета влияния новой информации о вероятности в некотором конкретном узле.

Объяснение в ЭС
Цель - обосновать, аргументировать ответ в максимально естественной форме.

Что объяснять?
•	как получено решение
•	как использована некоторая информация (факты, правила)
•	почему не использована некоторая информация (факты, правила)
•	что использовано в целом при решении задачи (факты, правила)

Для кого нужны объяснения?
-	эксперты
-	инженеры знаний
-	пользователи
-	изучающие (новички)